package com.ywl.designpattern.proxy;

import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Proxy;

public class JdkProxyDemo {
    
    public static void main(String[] args) {
        UserService userService = new UserServiceImpl();
        // 这里的userService是一个UserService的实现类，
        InvocationHandler handler = new LogHandler(userService);
        // 这里的handler是一个InvocationHandler的实现类，
        UserService proxy = (UserService) Proxy.newProxyInstance(
            userService.getClass().getClassLoader(),
            userService.getClass().getInterfaces(),
            handler);
        proxy.addUser("Bob");
    }
}
